diff options
| author | Sebastien Castiel <sebastien@castiel.me> | 2023-12-19 09:36:40 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-19 09:36:40 -0500 |
| commit | 1e66efe5169dfad9a0c62ba42fbf31ce977bf49e (patch) | |
| tree | 3c2ea81a8b2dd9ba989855de553d65b1bb90b7ad /src/app/groups/[groupId]/expenses/[expenseId] | |
| parent | 66ab0ff82bbcb3294d3a0fb84ae5ffcae9910e26 (diff) | |
Use modal dialogs for expense creation & edition (#10)
* First attemps at using route interception and modals
* Remove route interception
* Make it work
* Use Vaul on small screens
* Improve vaul
Diffstat (limited to 'src/app/groups/[groupId]/expenses/[expenseId]')
| -rw-r--r-- | src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx b/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx deleted file mode 100644 index 188d08f..0000000 --- a/src/app/groups/[groupId]/expenses/[expenseId]/edit/page.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { ExpenseForm } from '@/components/expense-form' -import { deleteExpense, getExpense, getGroup, updateExpense } from '@/lib/api' -import { expenseFormSchema } from '@/lib/schemas' -import { Metadata } from 'next' -import { notFound, redirect } from 'next/navigation' - -export const metadata: Metadata = { - title: 'Edit expense', -} - -export default async function EditExpensePage({ - params: { groupId, expenseId }, -}: { - params: { groupId: string; expenseId: string } -}) { - const group = await getGroup(groupId) - if (!group) notFound() - const expense = await getExpense(groupId, expenseId) - if (!expense) notFound() - - async function updateExpenseAction(values: unknown) { - 'use server' - const expenseFormValues = expenseFormSchema.parse(values) - await updateExpense(groupId, expenseId, expenseFormValues) - redirect(`/groups/${groupId}`) - } - - async function deleteExpenseAction() { - 'use server' - await deleteExpense(expenseId) - redirect(`/groups/${groupId}`) - } - - return ( - <ExpenseForm - group={group} - expense={expense} - onSubmit={updateExpenseAction} - onDelete={deleteExpenseAction} - /> - ) -} |
